from SimpleXMLRPCServer import SimpleXMLRPCServer
from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler
import pickle  

" Classe contenneur pour toutes les vues "
class ContenneurVue():
    LISTEVUES=['vue','gTables','gprofiles','production','.....']
    VueAdmin=[1,2,3,4,5,6,7,8,9,'...']
    VueProduction=[2,4,6,'...']
    "VueTest=[0]"
    "...."
    def __init__(self):
        self.rows=[]
        pass
    
    " On charge tout les vues et on les envoie en une seule transmission"
    def ChargerVues(self,profile):
        self.listeVues=[]
        if (profile.upper()=='ADMIN'):            
            for index in VueAdmin:
                vue=ConteneurVue.LISTEVUES[index]
                if (index==1):
                    vue='admin/'+vue
                f=open(vue+'.py',r)
                vueStr=f.readlines()
                self.listeVues.append(vueStr)
                f.close() 
                pass
        elif (profile.upper()=='PRODUCTION'):            
            for index in VueProduction:
                vue=ConteneurVue.LISTEVUES[index]
                vue=ConteneurVue.LISTEVUES[index]
                if (index==1):
                    vue='production/'+vue
                f=open(vue+'.py',r)
                vueStr=f.readlines()
                self.listeVues.append(vueStr)
                f.close() 
                pass
        
        elif (profile.upper()=='TEST'):
            f=open('test/vue.py','rb')
            vueStr=f.readlines()
            self.listeVues.append(vueStr)
            f.close() 
        "..."
        return self.listeVues
        pass

" Pour le moment on va se contenter de cette classe"
class ChargeurVue():
    def __init__(self):        
        pass

    def envoyerVue(self,NomVue):
        f=open(NomVue,'r')
        p=f.readlines()
        f.close()
        return p
        pass
    
class Server(object):
    def __init__(self):
        self.server= SimpleXMLRPCServer(("localhost", 8000),allow_none=True,\
                                            requestHandler=SimpleXMLRPCRequestHandler)
        self.server.register_introspection_functions()
        pass
    
    def register(self,cls):
        self. server.register_instance(cls)
        pass
    
    def run(self):
        print 'OK, serveur demarre'
        self.server.serve_forever()
        pass


serveur=Server()
serveur.register(ChargeurVue())
serveur.run()       
